/* 
  学习目标：setState是异步更新
*/

import React from 'react';

export default class App extends React.Component {
  state = {
    count: 0,
  };

  handleClick = () => {
    // console.log('this.state.count  ----->  ', this.state.count);
    // 🔔setState是异步更新
    // 🔔React设计合并的原因：为了避免频繁操作DOM
    this.setState({
      count: this.state.count + 1,
    });

    this.setState({
      count: this.state.count + 2,
    });

    this.setState({
      count: this.state.count + 3,
    });

    // console.log('  ----->  ', 2);
    // setTimeout(() => {
    //   console.log('  ----->  ', 1);
    // }, 0);
  };

  render() {
    // 三次setState，只会执行一次
    console.log('render执行了  ----->  ');
    return (
      <div>
        <h1>数量： {this.state.count}</h1>
        <button onClick={this.handleClick}>点我修改数量</button>
      </div>
    );
  }
}

// 问题： 连续调用setState，会产生什么
